suppressPackageStartupMessages(library(tidyverse))
## Warning: package 'ggplot2' was built under R version 4.2.3
## Warning: package 'tidyr' was built under R version 4.2.3
## Warning: package 'readr' was built under R version 4.2.3
## Warning: package 'dplyr' was built under R version 4.2.3
## Warning: package 'stringr' was built under R version 4.2.3
devtools::load_all('~/Google Drive/My Drive/Scripts/R_packages/myUtilities/')
## ℹ Loading myUtilities
library(patchwork)
## Warning: package 'patchwork' was built under R version 4.2.3
data_dir <- '/Volumes/Mitsu_NGS_3/METTL2A/'
wd <- "/Users/s-mitsutomi/My Drive (shuheimitsutomi@ric.u-tokyo.ac.jp)/Analysis/METTL2A/"
setwd(wd)
figdir <- paste0(wd, 'Figures/DRS_mapping/')
tabledir <- paste0(wd, 'Tables/DRS/Mapping/Spliced/ChrM/')
theme_set(
theme_classic(base_size = 7) +
theme(legend.position = 'bottom')
)
read_cpm_chrM <- function(path) {
read_tsv(path) |>
filter(seqname == 'chrM')
}
chrM_cpms <-
fs::dir_ls(
path = paste0(wd, 'Tables/DRS/Mapping/Spliced/Bedgraph/CPM/'),
glob = '*.tsv.gz'
) |>
map(read_cpm_chrM) |>
purrr::reduce(bind_rows) |>
separate(sample, into = c('num', 'type', 'si', 'rep'), sep = '_')
## Rows: 40611883 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: "\t"
## chr (3): seqname, sample, strand
## dbl (3): start, end, cpm
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## Rows: 42480443 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: "\t"
## chr (3): seqname, sample, strand
## dbl (3): start, end, cpm
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
chrM_cpms
## # A tibble: 168,455 × 9
## seqname start end cpm num type si rep strand
## <chr> <dbl> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 chrM 0 1 -1000. 7 siMETTL2A I N1 -
## 2 chrM 1 2 -1008. 7 siMETTL2A I N1 -
## 3 chrM 2 3 -1023. 7 siMETTL2A I N1 -
## 4 chrM 3 4 -1031. 7 siMETTL2A I N1 -
## 5 chrM 4 7 -1036. 7 siMETTL2A I N1 -
## 6 chrM 7 8 -1039. 7 siMETTL2A I N1 -
## 7 chrM 8 9 -1054. 7 siMETTL2A I N1 -
## 8 chrM 9 11 -1058. 7 siMETTL2A I N1 -
## 9 chrM 11 12 -1054. 7 siMETTL2A I N1 -
## 10 chrM 12 13 -1055. 7 siMETTL2A I N1 -
## # ℹ 168,445 more rows
espresso_annotations <-
read_tsv(
paste0(wd, 'Tables/Espresso_AsPC1_annotation_cleaned_2024-03-29.tsv')
)
## Rows: 36717 Columns: 14
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: "\t"
## chr (12): seqname, source, feature, score, strand, frame, gene_id, transcrip...
## dbl (2): start, end
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
espresso_annotations
## # A tibble: 36,717 × 14
## seqname source feature start end score strand frame gene_id transcript_id
## <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 chr3 annot… transc… 3.15e6 3.15e6 . - . ENSG00… ENST00000498…
## 2 chr3 annot… transc… 3.15e6 3.15e6 . - . ENSG00… ENST00000459…
## 3 chr3 annot… transc… 3.15e6 3.18e6 . - . ENSG00… ENST00000231…
## 4 chr3 annot… transc… 3.15e6 3.18e6 . - . ENSG00… ENST00000432…
## 5 chr3 annot… transc… 3.13e6 3.13e6 . + . ENSG00… ENST00000339…
## 6 chr3 annot… transc… 3.15e6 3.16e6 . - . ENSG00… ENST00000488…
## 7 chr3 annot… transc… 3.13e6 3.13e6 . + . ENSG00… ENST00000420…
## 8 chr3 annot… transc… 3.14e6 3.15e6 . + . ENSG00… ENST00000698…
## 9 chr3 annot… transc… 3.17e6 3.18e6 . - . ENSG00… ENST00000450…
## 10 chr3 annot… transc… 3.15e6 3.15e6 . + . ENSG00… ENST00000698…
## # ℹ 36,707 more rows
## # ℹ 4 more variables: gene_type <chr>, gene_name <chr>, transcript_type <chr>,
## # transcript_name <chr>
gencode_annotations <- read_gtf_transcripts(
'/Volumes/Mitsu_NGS_3/METTL2A/Database/gencode.v43.annotation_plus-tRNA.gtf'
)
gencode_annotations
## # A tibble: 253,510 × 15
## seqname source feature start end score strand frame attributes gene_id
## <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <noquote> <chr>
## 1 chrM ENSEMBL transcript 577 647 . + . gene_id "E… ENSG00…
## 2 chrM ENSEMBL transcript 648 1601 . + . gene_id "E… ENSG00…
## 3 chrM ENSEMBL transcript 1602 1670 . + . gene_id "E… ENSG00…
## 4 chrM ENSEMBL transcript 1671 3229 . + . gene_id "E… ENSG00…
## 5 chrM ENSEMBL transcript 3230 3304 . + . gene_id "E… ENSG00…
## 6 chrM ENSEMBL transcript 3230 3304 . + . gene_id "2… 26266
## 7 chrM ENSEMBL transcript 3307 4262 . + . gene_id "E… ENSG00…
## 8 chrM ENSEMBL transcript 4263 4331 . + . gene_id "E… ENSG00…
## 9 chrM ENSEMBL transcript 4329 4400 . - . gene_id "E… ENSG00…
## 10 chrM ENSEMBL transcript 4402 4469 . + . gene_id "E… ENSG00…
## # ℹ 253,500 more rows
## # ℹ 5 more variables: gene_type <chr>, gene_name <chr>, transcript_id <chr>,
## # transcript_type <chr>, transcript_name <chr>
espresso_annotations_chrM <-
espresso_annotations |>
filter(seqname == 'chrM')
espresso_annotations_chrM
## # A tibble: 23 × 14
## seqname source feature start end score strand frame gene_id transcript_id
## <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 chrM novel_i… transc… 9222 13882 . - . <NA> ESPRESSO:chr…
## 2 chrM annotat… transc… 8366 8572 . + . ENSG00… ENST00000361…
## 3 chrM annotat… transc… 648 1601 . + . ENSG00… ENST00000389…
## 4 chrM annotat… transc… 14674 14742 . - . ENSG00… ENST00000387…
## 5 chrM annotat… transc… 14149 14673 . - . ENSG00… ENST00000361…
## 6 chrM annotat… transc… 1671 3229 . + . ENSG00… ENST00000387…
## 7 chrM annotat… transc… 3307 4262 . + . ENSG00… ENST00000361…
## 8 chrM annotat… transc… 7586 8269 . + . ENSG00… ENST00000361…
## 9 chrM annotat… transc… 10760 12137 . + . ENSG00… ENST00000361…
## 10 chrM annotat… transc… 14747 15887 . + . ENSG00… ENST00000361…
## # ℹ 13 more rows
## # ℹ 4 more variables: gene_type <chr>, gene_name <chr>, transcript_type <chr>,
## # transcript_name <chr>
chrM_cpms |>
ggplot(aes(xmin = start, xmax = end, y = cpm, fill = si, group = si)) +
geom_rect(aes(ymin = 0, ymax = cpm), alpha = 1/4) +
facet_grid(rep ~ si) +
scale_y_continuous(breaks = seq(-20000, 80000, 20000))
mapping_chrM <-
chrM_cpms |>
ggplot(
aes(xmin = start, xmax = end, y = cpm, fill = si)) +
geom_rect(aes(ymin = 0, ymax = cpm)) +
facet_wrap( ~ num, ncol = 1) +
scale_y_continuous(breaks = seq(-20000, 80000, 20000)) +
scale_fill_manual(values = c('grey30', '#37d9cc', '#A3A3F9')) +
theme(legend.position = 'none')
annotation_chrM_barplot <-
gencode_annotations |>
#espresso_annotations_chrM |>
filter(seqname == 'chrM') |>
mutate(value = ifelse(strand == '+', 1, -1)) |>
ggplot(aes(xmin = start, xmax = end, y = value,
fill = gene_type)) +
scale_x_continuous(limits = c(0, max(chrM_cpms$end))) +
geom_rect(aes(ymin = 0, ymax = value)) +
scale_fill_manual(
values = c('gray30', '#F23E3E', 'gray30', '#3E3EF2')
)
chrM_plot <-
mapping_chrM + annotation_chrM_barplot +
plot_layout(ncol = 1, heights = c(19,1))
chrM_plot
ggsave(
filename = paste0(figdir, 'chrM_plot.pdf'), plot = chrM_plot,
width = 9, height = 18, units = 'cm')
chrM_cpms |>
filter(strand == '-') |>
ggplot(aes(xmin = start, xmax = end, y = cpm, fill = strand)) +
geom_rect(aes(ymin = 0, ymax = cpm)) +
facet_wrap( ~ si, ncol = 3) +
scale_y_continuous(limits = c(-500, 0)) +
theme_bw(base_size = 7)
## Warning: Removed 3630 rows containing missing values or values outside the scale range
## (`geom_rect()`).
sessioninfo::session_info()
## ─ Session info ───────────────────────────────────────────────────────────────
## setting value
## version R version 4.2.2 (2022-10-31)
## os macOS 14.4.1
## system aarch64, darwin20
## ui X11
## language (EN)
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz Asia/Tokyo
## date 2024-04-06
## pandoc 3.1.1 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/ (via rmarkdown)
##
## ─ Packages ───────────────────────────────────────────────────────────────────
## ! package * version date (UTC) lib source
## abind 1.4-5 2016-07-21 [1] CRAN (R 4.2.0)
## backports 1.4.1 2021-12-13 [1] CRAN (R 4.2.0)
## bit 4.0.5 2022-11-15 [1] CRAN (R 4.2.0)
## bit64 4.0.5 2020-08-30 [1] CRAN (R 4.2.0)
## broom 1.0.5 2023-06-09 [1] CRAN (R 4.2.0)
## bslib 0.6.1 2023-11-28 [1] CRAN (R 4.2.3)
## cachem 1.0.8 2023-05-01 [1] CRAN (R 4.2.0)
## car 3.1-2 2023-03-30 [1] CRAN (R 4.2.0)
## carData 3.0-5 2022-01-06 [1] CRAN (R 4.2.0)
## class 7.3-22 2023-05-03 [1] CRAN (R 4.2.0)
## cli 3.6.2 2023-12-11 [1] CRAN (R 4.2.3)
## codetools 0.2-19 2023-02-01 [1] CRAN (R 4.2.0)
## colorspace 2.1-0 2023-01-23 [1] CRAN (R 4.2.0)
## crayon 1.5.2 2022-09-29 [1] CRAN (R 4.2.0)
## data.table 1.15.2 2024-02-29 [1] CRAN (R 4.2.3)
## desc 1.4.3 2023-12-10 [1] CRAN (R 4.2.3)
## devtools 2.4.5 2022-10-11 [1] CRAN (R 4.2.0)
## dials 1.2.1 2024-02-22 [1] CRAN (R 4.2.3)
## DiceDesign 1.10 2023-12-07 [1] CRAN (R 4.2.3)
## digest 0.6.35 2024-03-11 [1] CRAN (R 4.2.3)
## dplyr * 1.1.4 2023-11-17 [1] CRAN (R 4.2.3)
## ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.2.0)
## evaluate 0.23 2023-11-01 [1] CRAN (R 4.2.0)
## fansi 1.0.6 2023-12-08 [1] CRAN (R 4.2.3)
## farver 2.1.1 2022-07-06 [1] CRAN (R 4.2.0)
## fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.2.0)
## forcats * 1.0.0 2023-01-29 [1] CRAN (R 4.2.0)
## foreach 1.5.2 2022-02-02 [1] CRAN (R 4.2.0)
## fs 1.6.3 2023-07-20 [1] CRAN (R 4.2.0)
## furrr 0.3.1 2022-08-15 [1] CRAN (R 4.2.0)
## future 1.33.1 2023-12-22 [1] CRAN (R 4.2.3)
## future.apply 1.11.1 2023-12-21 [1] CRAN (R 4.2.3)
## generics 0.1.3 2022-07-05 [1] CRAN (R 4.2.0)
## ggforce 0.4.2 2024-02-19 [1] CRAN (R 4.2.3)
## ggplot2 * 3.5.0 2024-02-23 [1] CRAN (R 4.2.3)
## ggpubr 0.6.0 2023-02-10 [1] CRAN (R 4.2.0)
## ggrepel 0.9.5 2024-01-10 [1] CRAN (R 4.2.3)
## ggsignif 0.6.4 2022-10-13 [1] CRAN (R 4.2.0)
## globals 0.16.3 2024-03-08 [1] CRAN (R 4.2.3)
## glue 1.7.0 2024-01-09 [1] CRAN (R 4.2.3)
## gower 1.0.1 2022-12-22 [1] CRAN (R 4.2.0)
## GPfit 1.0-8 2019-02-08 [1] CRAN (R 4.2.0)
## gtable 0.3.4 2023-08-21 [1] CRAN (R 4.2.0)
## hardhat 1.3.1 2024-02-02 [1] CRAN (R 4.2.3)
## highr 0.10 2022-12-22 [1] CRAN (R 4.2.0)
## hms 1.1.3 2023-03-21 [1] CRAN (R 4.2.0)
## htmltools 0.5.7 2023-11-03 [1] CRAN (R 4.2.0)
## htmlwidgets 1.6.4 2023-12-06 [1] CRAN (R 4.2.3)
## httpuv 1.6.14 2024-01-26 [1] CRAN (R 4.2.3)
## ipred 0.9-14 2023-03-09 [1] CRAN (R 4.2.0)
## iterators 1.0.14 2022-02-05 [1] CRAN (R 4.2.0)
## jquerylib 0.1.4 2021-04-26 [1] CRAN (R 4.2.0)
## jsonlite 1.8.8 2023-12-04 [1] CRAN (R 4.2.3)
## knitr 1.45 2023-10-30 [1] CRAN (R 4.2.0)
## labeling 0.4.3 2023-08-29 [1] CRAN (R 4.2.0)
## later 1.3.2 2023-12-06 [1] CRAN (R 4.2.3)
## lattice 0.22-6 2024-03-20 [1] CRAN (R 4.2.3)
## lava 1.8.0 2024-03-05 [1] CRAN (R 4.2.3)
## lhs 1.1.6 2022-12-17 [1] CRAN (R 4.2.0)
## lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.2.3)
## listenv 0.9.1 2024-01-29 [1] CRAN (R 4.2.3)
## lubridate * 1.9.3 2023-09-27 [1] CRAN (R 4.2.0)
## magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.2.0)
## MASS 7.3-60.0.1 2024-01-13 [1] CRAN (R 4.2.3)
## Matrix 1.6-5 2024-01-11 [1] CRAN (R 4.2.3)
## memoise 2.0.1 2021-11-26 [1] CRAN (R 4.2.0)
## mime 0.12 2021-09-28 [1] CRAN (R 4.2.0)
## miniUI 0.1.1.1 2018-05-18 [1] CRAN (R 4.2.0)
## munsell 0.5.0 2018-06-12 [1] CRAN (R 4.2.0)
## R myUtilities * 0.0.0.9000 <NA> [?] <NA>
## nnet 7.3-19 2023-05-03 [1] CRAN (R 4.2.0)
## parallelly 1.37.1 2024-02-29 [1] CRAN (R 4.2.3)
## parsnip 1.2.0 2024-02-16 [1] CRAN (R 4.2.3)
## patchwork * 1.2.0 2024-01-08 [1] CRAN (R 4.2.3)
## pillar 1.9.0 2023-03-22 [1] CRAN (R 4.2.0)
## pkgbuild 1.4.4 2024-03-17 [1] CRAN (R 4.2.3)
## pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.2.0)
## pkgload 1.3.4 2024-01-16 [1] CRAN (R 4.2.3)
## polyclip 1.10-6 2023-09-27 [1] CRAN (R 4.2.0)
## prodlim 2023.08.28 2023-08-28 [1] CRAN (R 4.2.0)
## profvis 0.3.8 2023-05-02 [1] CRAN (R 4.2.0)
## promises 1.2.1 2023-08-10 [1] CRAN (R 4.2.0)
## purrr * 1.0.2 2023-08-10 [1] CRAN (R 4.2.0)
## R6 2.5.1 2021-08-19 [1] CRAN (R 4.2.0)
## ragg 1.3.0 2024-03-13 [1] CRAN (R 4.2.3)
## Rcpp 1.0.12 2024-01-09 [1] CRAN (R 4.2.3)
## readr * 2.1.5 2024-01-10 [1] CRAN (R 4.2.3)
## recipes 1.0.10 2024-02-18 [1] CRAN (R 4.2.3)
## remotes 2.5.0 2024-03-17 [1] CRAN (R 4.2.3)
## rlang 1.1.3 2024-01-10 [1] CRAN (R 4.2.3)
## rmarkdown 2.26 2024-03-05 [1] CRAN (R 4.2.3)
## rpart 4.1.23 2023-12-05 [1] CRAN (R 4.2.3)
## rprojroot 2.0.4 2023-11-05 [1] CRAN (R 4.2.0)
## rsample 1.2.0 2023-08-23 [1] CRAN (R 4.2.0)
## rstatix 0.7.2 2023-02-01 [1] CRAN (R 4.2.0)
## rstudioapi 0.15.0 2023-07-07 [1] CRAN (R 4.2.0)
## sass 0.4.9 2024-03-15 [1] CRAN (R 4.2.3)
## scales 1.3.0 2023-11-28 [1] CRAN (R 4.2.3)
## sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.2.0)
## shiny 1.8.0 2023-11-17 [1] CRAN (R 4.2.3)
## stringi 1.8.3 2023-12-11 [1] CRAN (R 4.2.3)
## stringr * 1.5.1 2023-11-14 [1] CRAN (R 4.2.3)
## survival 3.5-8 2024-02-14 [1] CRAN (R 4.2.3)
## systemfonts 1.0.6 2024-03-07 [1] CRAN (R 4.2.3)
## textshaping 0.3.7 2023-10-09 [1] CRAN (R 4.2.0)
## tibble * 3.2.1 2023-03-20 [1] CRAN (R 4.2.0)
## tidyr * 1.3.1 2024-01-24 [1] CRAN (R 4.2.3)
## tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.2.3)
## tidyverse * 2.0.0 2023-02-22 [1] CRAN (R 4.2.0)
## timechange 0.3.0 2024-01-18 [1] CRAN (R 4.2.3)
## timeDate 4032.109 2023-12-14 [1] CRAN (R 4.2.3)
## tune 1.2.0 2024-03-20 [1] CRAN (R 4.2.2)
## tweenr 2.0.3 2024-02-26 [1] CRAN (R 4.2.3)
## tzdb 0.4.0 2023-05-12 [1] CRAN (R 4.2.0)
## urlchecker 1.0.1 2021-11-30 [1] CRAN (R 4.2.0)
## usethis 2.2.3 2024-02-19 [1] CRAN (R 4.2.3)
## utf8 1.2.4 2023-10-22 [1] CRAN (R 4.2.0)
## vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.2.3)
## vroom 1.6.5 2023-12-05 [1] CRAN (R 4.2.3)
## withr 3.0.0 2024-01-16 [1] CRAN (R 4.2.3)
## workflows 1.1.4 2024-02-19 [1] CRAN (R 4.2.3)
## xfun 0.42 2024-02-08 [1] CRAN (R 4.2.3)
## xtable 1.8-4 2019-04-21 [1] CRAN (R 4.2.0)
## yaml 2.3.8 2023-12-11 [1] CRAN (R 4.2.3)
## yardstick 1.3.0 2024-01-19 [1] CRAN (R 4.2.3)
##
## [1] /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library
##
## R ── Package was removed from disk.
##
## ──────────────────────────────────────────────────────────────────────────────